1. Field of the Invention
The present invention relates to an information processing apparatus and a method for processing information that control the print output of, for example, a plurality of printers.
2. Description of the Related Art
Conventionally, when printing an electronic document from an application, a user interface (UI) that is provided by a printer driver is displayed through which advanced print settings are configured. In recent years, operating systems that provide novel UIs with high operability have also been developed for devices such as mobile phones and tablets that have only a touch panel.
Adopting such a novel OS (hereinafter referred to as a “new OS”) involves a new invoking method for invoking a printer driver that is compatible with the new OS from an application that is compatible with the new OS. In this context, the expression “compatible” may mean that the objects are generated for execution under a new OS but not older versions of the OS, and may also be referred to as “native”. However, in popular operating systems, such as Windows (Registered Trademark) OS provided by Microsoft (Registered Trademark) Corporation for example, an upgraded new OS generally has a mechanism for maintaining compatibility with the past assets, e.g., compatibility with drivers and the like that are compatible with a conventional OS (hereinafter referred to as an “old OS”), in order to ensure the succession of software assets. With a new OS, therefore, printer drivers that are compatible with an old OS and suitable for a conventional method for invoking from an application are available, and there may also be printers for which there is no other choice than to use such a printer driver compatible with an old OS. The same applies to devices other than printers. Further, there may be the case where one device includes a plurality of types of printer drivers having different attributes, such as printer drivers compatible with an old OS and printer drivers that are suitable for a new method for invoking from an application and compatible with a new OS. In this context, “compatible” may refer to a situation where software that has compatibility with an old OS is executable under a new OS.
There is also the case where, together with the change of the invoking method, the structure of print setting data may be changed. For example, in Windows (Registered Trademark) of Microsoft (Registered Trademark) Corporation, conventionally, an operating system (including drivers) has been invoked from an application via an application interface (API) that is referred to as “Win32”, and binary data that is referred to as “DEVMODE” has been used as print setting data. However, in the new OS called “Windows 8”, the operating system (including drivers) is invoked from an application via an application interface (API) that is referred to as “WinRT”, and XML data that is referred to as “PrintTicket” is added to the print setting data. However, as described above, the Win32 API is also provided in Windows 8 in order to maintain compatibility with the conventional Windows OS, so that an application compatible with Win32 and thus a driver compatible with the conventional OS using DEVMODE are executable. Further, a driver that uses DEVMODE and is compatible with Win32 can also be used via the WinRT API. Therefore, there may be the case where one device includes two types of drivers, that is, drivers suitable for two types of formats of print setting data (for example, DEVMODE and PrintTicket), respectively. In the example of Windows, the application compatible with Win32 is referred to as a desktop application, and the application compatible with WinRT is referred to as a metro application. Also, the printer driver that is compatible with Win32 and uses, for example, DEVMODE is referred to as a V3 driver, and the printer driver that is compatible with WinRT and uses PrintTicket is referred to as a V4 driver.
As described above, in Windows 8, the V3 driver can be invoked from the metro application and the desktop application. Accordingly, if one printer device is provided with both a V3 driver and a V4 driver, the metro application will select and use any one of the drivers since a metro application can use both drivers.
Not only in the case of Windows 8 but also in the case where one device is available from a plurality of routes, as a technique for selecting one of the plurality of routes, Patent Literature 1 discloses a technique for automatically selecting, from a plurality of print data commands that are held as attributes by an image processing apparatus, an appropriate print data command depending on print requirements, such as user's preference in image quality or speed.
Patent Literature 1    Japanese Patent Laid-Open No. 07-261958
However, when a printer driver that is provided for a given print device and compatible with an old OS is used, the same functionalities cannot always be used when the printer driver is invoked from an application compatible with an old OS (hereinafter referred to as a “native mode”) and when the printer driver is invoked from an application compatible with a new OS (hereinafter referred to as a “compatible mode”). Taking the example of Windows 8, available functionalities may differ from each other between the native mode in which a V3 printer driver is invoked from the desktop application, and the compatible mode in which the V3 printer driver is invoked from the metro application. This is because the compatibility between the metro application and the V3 printer driver is maintained since the operating system knows the definition of print settings in DEVMODE, but neither can know the print settings that were originally defined by the printer driver, nor can the printer driver itself access the operating system and deliver the print settings to the operating system. In Windows 8, therefore, the print settings originally defined by the printer driver are not available, since they can neither be displayed in a UI (hereinafter referred to as a “metro style UI”) nor of course be configured. In contrast, if the same printer driver is used from the desktop application via Win32, then expanded functionality as well can be set and thus made available.
Accordingly, if, for example, a driver that is suitable for a conventional invoking method and compatible with an old OS is invoked by a new invoking method from an application that is suitable for this new invoking method and compatible with a new OS, there has been the case where expanded functionality that is originally supported by the driver cannot be used. Because of this, although use of the invention described in Patent Literature 1 makes it possible to preferentially use from the new OS the driver compatible with an old OS or to exclusively use the driver compatible with an old OS if only this driver is available, all functionalities available when this driver is executed under the old OS are not always available under the new OS.